package leetcode_500;

/**
 *@author 周杨
 *StringCompression_443 压缩字符串
 *describe:用指针记录count 和char 并存入原数组  AC 75%
 *2018年8月20日 上午11:44:54
 */
public class StringCompression_443 {
	public static void main(String[] args) {
		StringCompression_443 test=new StringCompression_443();
		test.compress("aabbccc".toCharArray());
	}
	
	public int compress(char[] chars) {
		if(chars.length==0)
			return 0;
		int count=1,index=0;
		char temp=chars[0];
        for(int i=1;i<chars.length;++i) {
        	if(chars[i]==temp)
        		++count;
        	else {
                chars[index++]=temp;
        		temp=chars[i];
        		if(count!=1) {
        			String s=String.valueOf(count);
        			for(int j=0;j<s.length();++j) {
        				chars[index++]=s.charAt(j);
        			}
        		}
                count=1;
        	}
        }
        chars[index++]=temp;
        if(count!=1) {
        	String s=String.valueOf(count);
        	for(int j=0;j<s.length();++j)
        		chars[index++]=s.charAt(j);
        }
        return index;
    }
}
